home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgramD2.iso / Borland / Borland Pascal with Objects 7.0 / GREPDLL.ZIP / _REGEXP.H next >
C/C++ Source or Header  |  1992-10-27  |  1KB  |  45 lines

  1. /************************************************\
  2. *                                                *
  3. *   REGEXP.DDL Internal data definitions         *
  4. *   Copyright (c) 1992 by Borland International  *
  5. *   Copyright (c) 1986 by Univerisity of Toronto *
  6. *                                                *
  7. \************************************************/
  8.  
  9. #define RE_OK                   0
  10. #define RE_NOTFOUND             1
  11. #define RE_INVALIDPARAMETER     2
  12. #define RE_EXPRESSIONTOOBIG     3
  13. #define RE_OUTOFMEMORY          4
  14. #define RE_TOOMANYSUBEXPS       5
  15. #define RE_UNMATCHEDPARENS      6
  16. #define RE_INVALIDREPEAT        7
  17. #define RE_NESTEDREPEAT         8
  18. #define RE_INVALIDRANGE         9
  19. #define RE_UNMATCHEDBRACKET     10
  20. #define RE_TRAILINGBACKSLASH    11
  21. #define RE_INTERNAL             20
  22.  
  23. #define NSUBEXP  10
  24.  
  25. /*
  26.  * The first byte of the regexp internal "program" is actually this magic
  27.  * number; the start node begins in the second byte.
  28.  */
  29. #define    MAGIC    0234
  30.  
  31. typedef struct regexp {
  32.     char *startp[NSUBEXP];
  33.     char *endp[NSUBEXP];
  34.     char regstart;        /* Internal use only. */
  35.     char reganch;        /* Internal use only. */
  36.     char *regmust;        /* Internal use only. */
  37.     int regmlen;        /* Internal use only. */
  38.     char program[1];    /* Internal use only. */
  39. } regexp;
  40.  
  41. extern int regerror;
  42. extern regexp *regcomp(const char *exp);
  43. extern int regexec(register regexp* prog, register const char *string);
  44. extern void regsub();
  45.